import axios from 'axios';
axios.defaults.baseURL = 'http://music.cpengx.cn/';
axios.interceptors.response.use(function (res) {
	return res.data;
}, function (err) {
	return err;
})

// banner
export const getBanner = () => axios.get('/banner');
// 推荐歌单
export const getTuijiangedan = (num) => axios.get(`/personalized?limit=${num}`);
// 推荐mv(首页)
export const getTuijianmv = () => axios.get('/personalized/mv');
// 推荐歌曲(首页)
export const getTuijiansong = () => axios.get('/personalized/newsong');
// 最新歌曲(最新歌曲页)
export const getZuixinsong = (type) => axios.get(`/top/song?type=${type}`);
// 获取音乐 url
// 说明 : 使用歌单详情接口后 , 能得到的音乐的 id, 但不能得到的音乐 url, 调用此接口, 传入的音乐 id( 可多个 , 用逗号隔开 ), 可以获取对应的音乐的 url,未登录状态或者非会员返回试听片段(返回字段包含被截取的正常歌曲的开始时间和结束时间)
// 注 : 部分用户反馈获取的 url 会 403,hwaphon找到的解决方案是当获取到音乐的 id 后，将 https://music.163.com/song/media/outer/url?id=id.mp3 以 src 赋予 Audio 即可播放
// 必选参数 : id : 音乐 id
// 接口地址 : /song/url
// 调用例子 : /song/url?id=33894312 /song/url?id=405998841,33894312
export const getGequurl = (id) => axios.get(`/song/url?id=${id}`);
// 搜索
// 说明 : 调用此接口 , 传入搜索关键词可以搜索该音乐 / 专辑 / 歌手 / 歌单 / 用户 , 关键词可以多个 , 以空格隔开 , 如 " 周杰伦 搁浅 "( 不需要登录 ), 搜索获取的 mp3url 不能直接用 , 可通过 /song/url 接口传入歌曲 id 获取具体的播放链接
// 必选参数 : keywords : 关键词
// 可选参数 : limit : 返回数量 , 默认为 30 offset : 偏移数量，用于分页 , 如 : 如 :( 页数 -1)*30, 其中 30 为 limit 的值 , 默认为 0
// type: 搜索类型；默认为 1 即单曲 , 取值意义 : 1: 单曲, 10: 专辑, 100: 歌手, 1000: 歌单,  1004: MV,
// 接口地址 : /search 或者 /cloudsearch(更全)
// 调用例子 : /search?keywords= 海阔天空 /cloudsearch?keywords= 海阔天空
export const search = (keywords, limit, offset, type) => axios.get(`/search?keywords=${keywords}&limit=${limit}&offset=${offset}&type=${type}`);
// 热搜列表
export const getResouliebiao = () => axios.get('/search/hot');
// 歌手全部歌曲
// id : 歌手 id
// 可选参数 :
// order : hot ,time 按照热门或者时间排序
// limit: 取出歌单数量 , 默认为 50
// offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*50, 其中 50 为 limit 的值
export const getGeshougeqv = (id) => axios.get(`/artist/songs?id=${id}`);
// 歌单分类
export const getGedanfenlei = () => axios.get('/playlist/hot');
// 获取歌单内容
// 可选参数 : order: 可选值为 'new' 和 'hot', 分别对应最新和最热 , 默认为 'hot'
// cat: tag, 比如 " 华语 "、" 古风 " 、" 欧美 "、" 流行 ", 默认为 "全部",可从歌单分类接口获取(/playlist/catlist)
// limit: 取出歌单数量 , 默认为 50
// offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*50, 其中 50 为 limit 的值
// 接口地址 : /top/playlist
// 调用例子 : /top/playlist?limit=10&order=new
export const getGedanneirong = (tag, limit, offset) => axios.get(`/top/playlist?cat=${tag}&limit=${limit}&offset=${offset}`);
// 获取歌单所有歌曲id
// 说明 : 由于网易云接口限制，歌单详情只会提供 10 首歌，通过调用此接口，传入对应的歌单id，即可获得对应的所有歌曲
// 必选参数 : id : 歌单 id
// 可选参数 : limit : 限制获取歌曲的数量
export const getGedanxiangqingId = (id) => axios.get(`/playlist/detail?id=${id}`);
// 获取歌单音乐
export const getGedanxiangqing = (ids) => axios.get(`/song/detail?ids=${ids}`);
// 获取mv播放地址
export const getMvUrl = (id) => axios.get(`/mv/url?id=${id}`);
// 获取mv详细信息
export const getMvxiangqing = (id) => axios.get(`/mv/detail?mvid=${id}`);
// 获取相关mv
export const getXiangsiMv = (id) => axios.get(`/simi/mv?mvid=${id}`);
// 获取排行榜
export const getPaihang = () => axios.get(`/toplist`);
// 获取热门歌手
export const getRemengeshou = (type) => axios.get(`/toplist/artist?type=${type}`);
// 获取mv(推荐mv页)
// area: 地区,可选值为：全部、内地、港台、欧美、日本、韩国、不填则为全部
// type: 类型,可选值为：全部、官方版、原生、现场版、网易出品,不填则为全部
// order: 排序,可选值为：上升最快、最热、最新、不填则为上升最快
// limit: 取出数量 , 默认为 30
// offset: 偏移数量 , 用于分页 , 如 :( 页数 -1)*50, 其中 50 为 limit 的值 , 默认 为 0
export const getZuixinMv = (area, type, order, limit, offset) => axios.get(`/mv/all?area=${area}&type=${type}&order=${order}&limit=${limit}&offset=${offset}`);